package org.example.aigc.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.example.aigc.entity.Section;

import java.util.List;

@Mapper
public interface SectionMapper {
    /**
     * 通过课程id获取课程部分列表
     *
     * @param id 课程id
     * @return 课程章节列表
     */
    List<Section> selectByCourseId(Long id);

    /**
     * 通过section的id删除section数据库的一条数据
     *
     * @param id section的id
     */
    void deleteById(Long id);

    /**
     * 向part数据库插入一条数据
     *
     * @param partId 部分id
     * @return 章节对象列表
     */
    List<Section> selectByPartId(Long partId);

    /**
     * 向section数据库查询一条记录
     *
     * @param id 章节id
     * @return 章节对象
     */
    Section selectById(Long id);

    /**
     * 向section数据库插入一条数据
     *
     * @param section 章节对象
     * @return 插入章节的id
     */
    Long insert(Section section);

    /**
     * 通过courseId删除section
     *
     * @param courseId 待删除的章节所属的课程id
     */
    void deleteByCourseId(Long courseId);
}
